home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / DEMON / LANGUAGE / POTSRC.ARC / src / c / COCQ < prev    next >
Text File  |  1995-05-06  |  8KB  |  296 lines

  1. /* This code is generated by pOt. */
  2.  
  3. #include <pOtRTL.h>
  4. #include "Strings.h"
  5. #include "COCS.h"
  6. #include "COCT.h"
  7. #include "COCO.h"
  8.  
  9. #include "hi.COCQ"
  10.  
  11.  
  12. struct pOt__tag_0_COCQ {
  13.   pOt__ArrTypDsc *td;
  14.   pOt_CHAR arr[0x1000L];
  15. } ;
  16. pOt__ArrTypDsc pOt__td_0_COCQ= {
  17.   1,
  18.   0x1000L, sizeof(pOt_CHAR)
  19. };
  20.  
  21. static struct pOt__tag_0_COCQ pOt_CSeq_COCQ, pOt_Dup_COCQ;
  22. pOt_INTEGER pOt_cslen_COCQ;
  23.  
  24. static struct {void *next, *vars[0x1];} pOt__gc_ptrs = {pOt_NIL,{
  25.   pOt_NIL
  26. }};
  27. static struct {void *next, *vars[0x1];} pOt__gc_strs = {&pOt__gc_ptrs,{
  28.   pOt_NIL
  29. }};
  30.  
  31.  
  32.  
  33.  
  34. extern void pOt_Append_COCQ
  35. #if pOt__ANSI_C
  36.   (pOt__DynArr *pOt_sfx)
  37. #else
  38.   (pOt_sfx)
  39.   pOt__DynArr *pOt_sfx;
  40.  
  41. #endif
  42. {
  43.   pOt_INTEGER pOt_i, pOt_sfxlen;
  44.   struct {void*next;} pOt__gc_ptrs;
  45.   pOt__gc_ptrs.next = pOt__gc_root;
  46.  
  47.   pOt_sfxlen=(pOt_INTEGER)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,pOt_Length_Strings(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt_sfx)))));
  48.   if(( (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_sfxlen),(pOt_LONGINT)(pOt_cslen_COCQ),5)>4095)) {
  49.     pOt_Mark_COCS((pOt_INTEGER)(215));
  50.     goto pOt__Epilogue;
  51.   }
  52.   pOt_i=(pOt_INTEGER)(0);
  53.   for(;;) {
  54.     pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(pOt_cslen_COCQ),5))]=(*((pOt_CHAR*)(((char *)pOt_sfx+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_sfx))->nofel,pOt_i)))));
  55.     if(( pOt_i==pOt_sfxlen)) {
  56.       goto pOt__LoopLabel_1;
  57.     }
  58.     pOt_i+=(1);
  59.   }
  60. pOt__LoopLabel_1:;
  61.   pOt_cslen_COCQ+=(pOt_sfxlen);
  62.  
  63. pOt__Epilogue:;
  64.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  65.   pOt__rm_par((pOt__TypDsc**)pOt_sfx);
  66. }
  67.  
  68.  
  69.  
  70.  
  71. extern void pOt_Prepend_COCQ
  72. #if pOt__ANSI_C
  73.   (pOt__DynArr *pOt_pfx, pOt_INTEGER pOt_pos, pOt_INTEGER *pOt_nextpos)
  74. #else
  75.   (pOt_pfx, pOt_pos, pOt_nextpos)
  76.   pOt__DynArr *pOt_pfx;
  77.   pOt_INTEGER pOt_pos, *pOt_nextpos;
  78.  
  79. #endif
  80. {
  81.   pOt_INTEGER pOt_i, pOt_pfxlen;
  82.   struct {void*next;} pOt__gc_ptrs;
  83.   pOt__gc_ptrs.next = pOt__gc_root;
  84.  
  85.   if(( pOt_pos==pOt_cslen_COCQ)) {
  86.     pOt_Append_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt_pfx)));
  87.     (*pOt_nextpos)=(pOt_INTEGER)(pOt_cslen_COCQ);
  88.     goto pOt__Epilogue;
  89.   }
  90.   pOt_pfxlen=(pOt_INTEGER)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,pOt_Length_Strings(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt_pfx)))));
  91.   if(( (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_pfxlen),(pOt_LONGINT)(pOt_cslen_COCQ),5)>4095)) {
  92.     pOt_Mark_COCS((pOt_INTEGER)(215));
  93.     pOt_i=(pOt_INTEGER)(pOt_pos);
  94.   } else {
  95.     pOt_i=(pOt_INTEGER)((pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_cslen_COCQ),(pOt_LONGINT)(1),5));
  96.     for(;;) {
  97.       if(( pOt_i!=pOt_pos)); else break;
  98.       pOt_i-=(1);
  99.       pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(pOt_pfxlen),5))]=pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, pOt_i)];
  100.     }
  101.     for(;;) {
  102.       if(( pOt_i!=(pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_pos),(pOt_LONGINT)(pOt_pfxlen),5))); else break;
  103.       pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, pOt_i)]=(*((pOt_CHAR*)(((char *)pOt_pfx+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_pfx))->nofel,(pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(pOt_pos),5))))));
  104.       pOt_i+=(1);
  105.     }
  106.     pOt_cslen_COCQ+=(pOt_pfxlen);
  107.   }
  108.   (*pOt_nextpos)=(pOt_INTEGER)(pOt_i);
  109.  
  110. pOt__Epilogue:;
  111.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  112.   pOt__rm_par((pOt__TypDsc**)pOt_pfx);
  113. }
  114.  
  115.  
  116.  
  117.  
  118. extern void pOt_Rewind_COCQ()
  119. {
  120.   struct {void*next;} pOt__gc_ptrs;
  121.   pOt__gc_ptrs.next = pOt__gc_root;
  122.  
  123.   pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, 0)]='\0';
  124.   pOt_cslen_COCQ=(pOt_INTEGER)(0);
  125.  
  126. pOt__Epilogue:;
  127.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  128. }
  129.  
  130.  
  131.  
  132.  
  133. extern void pOt_Drop_COCQ
  134. #if pOt__ANSI_C
  135.   (struct pOt__tag_3_COCT *pOt_x)
  136. #else
  137.   (pOt_x)
  138.   struct pOt__tag_3_COCT *pOt_x;
  139.  
  140. #endif
  141. {
  142.   struct {void*next;} pOt__gc_ptrs;
  143.   pOt__gc_ptrs.next = pOt__gc_root;
  144.  
  145.   pOt_cslen_COCQ=(pOt_INTEGER)((*pOt_x).pOt_qoffs);
  146.   pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, pOt_cslen_COCQ)]='\0';
  147.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(-1);
  148.  
  149. pOt__Epilogue:;
  150.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  151. }
  152.  
  153.  
  154.  
  155.  
  156. extern void pOt_Link_COCQ
  157. #if pOt__ANSI_C
  158.   (struct pOt__tag_3_COCT *pOt_x)
  159. #else
  160.   (pOt_x)
  161.   struct pOt__tag_3_COCT *pOt_x;
  162.  
  163. #endif
  164. {
  165.   struct {void*next;} pOt__gc_ptrs;
  166.   pOt__gc_ptrs.next = pOt__gc_root;
  167.  
  168.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(pOt_cslen_COCQ);
  169.  
  170. pOt__Epilogue:;
  171.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  172. }
  173.  
  174.  
  175.  
  176.  
  177. extern void pOt_Unlink_COCQ
  178. #if pOt__ANSI_C
  179.   (struct pOt__tag_3_COCT *pOt_x)
  180. #else
  181.   (pOt_x)
  182.   struct pOt__tag_3_COCT *pOt_x;
  183.  
  184. #endif
  185. {
  186.   struct {void*next;} pOt__gc_ptrs;
  187.   pOt__gc_ptrs.next = pOt__gc_root;
  188.  
  189.   if(( (*pOt_x).pOt_qoffs==((pOt_INTEGER)(0)))) {
  190.     pOt_PutSeq_COCO(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_CSeq_COCQ));
  191.     pOt_Rewind_COCQ();
  192.   }
  193.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(-1);
  194.  
  195. pOt__Epilogue:;
  196.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  197. }
  198.  
  199.  
  200.  
  201.  
  202. extern void pOt_Mark_COCQ
  203. #if pOt__ANSI_C
  204.   (struct pOt__tag_3_COCT *pOt_x)
  205. #else
  206.   (pOt_x)
  207.   struct pOt__tag_3_COCT *pOt_x;
  208.  
  209. #endif
  210. {
  211.   struct {void*next;} pOt__gc_ptrs;
  212.   pOt__gc_ptrs.next = pOt__gc_root;
  213.  
  214.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(pOt_cslen_COCQ);
  215.  
  216. pOt__Epilogue:;
  217.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  218. }
  219.  
  220.  
  221.  
  222.  
  223. extern void pOt_Release_COCQ
  224. #if pOt__ANSI_C
  225.   (struct pOt__tag_3_COCT *pOt_x)
  226. #else
  227.   (pOt_x)
  228.   struct pOt__tag_3_COCT *pOt_x;
  229.  
  230. #endif
  231. {
  232.   pOt_INTEGER pOt_i;
  233.   struct {void*next;} pOt__gc_ptrs;
  234.   pOt__gc_ptrs.next = pOt__gc_root;
  235.  
  236.   pOt_cslen_COCQ=(pOt_INTEGER)((*pOt_x).pOt_qoffs);
  237.   if(( pOt_cslen_COCQ!=((pOt_INTEGER)(0)))) {
  238.     pOt_i=(pOt_INTEGER)(0);
  239.     for(;;) {
  240.       pOt_Dup_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, pOt_i)]=pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, (pOt_INTEGER)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(pOt_cslen_COCQ),5))];
  241.       if(((unsigned char) pOt_Dup_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, pOt_i)]==(unsigned char)'\0')) {
  242.         goto pOt__LoopLabel_1;
  243.       }
  244.       pOt_i+=(1);
  245.     }
  246.   pOt__LoopLabel_1:;
  247.     pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, pOt_cslen_COCQ)]='\0';
  248.     pOt_PutSeq_COCO(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_Dup_COCQ));
  249.   } else {
  250.     pOt_PutSeq_COCO(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_CSeq_COCQ));
  251.     pOt_CSeq_COCQ.arr[pOt__inxchk(__FILE__,__LINE__,0x1000, 0)]='\0';
  252.   }
  253.   (*pOt_x).pOt_qoffs=(pOt_INTEGER)(-1);
  254.  
  255. pOt__Epilogue:;
  256.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  257. }
  258.  
  259.  
  260.  
  261.  
  262. extern void pOt_Dummy_COCQ()
  263. {
  264.   struct {void*next;} pOt__gc_ptrs;
  265.   pOt__gc_ptrs.next = pOt__gc_root;
  266.  
  267.   if(( pOt_cslen_COCQ==((pOt_INTEGER)(0)))) {
  268.     pOt_Append_COCQ(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x1]))));
  269.   }
  270.  
  271. pOt__Epilogue:;
  272.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  273. }
  274.  
  275. void pOt_COCQ__body()
  276. {
  277.   static int pOt_COCQ__loaded=0;
  278.   if(!pOt_COCQ__loaded){
  279.     pOt_COCQ__loaded=1;
  280.  
  281.     pOt_Strings__body();
  282.     pOt_COCS__body();
  283.     pOt_COCT__body();
  284.     pOt_COCO__body();
  285.  
  286.     pOt__gc_ptrs.next=pOt__gc_root;
  287.     pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  288.  
  289.     pOt__init_var((pOt__TypDsc**)&pOt_CSeq_COCQ,(pOt__TypDsc*)&pOt__td_0_COCQ);
  290.     pOt__init_var((pOt__TypDsc**)&pOt_Dup_COCQ,(pOt__TypDsc*)&pOt__td_0_COCQ);
  291.  
  292.  
  293.   pOt__Epilogue:;
  294.   }
  295. }
  296.